Operator Library: Hardware Platform
DmaToPC オペレーターは、VisualAppletsのアプレットとホストPC間の画像インターフェースです。DMAToPC オペレーターは、アプレットからホストPCへと画像を転送します。画像転送にはダイレクトメモリーアクセス(DMA)が使用され、画像データはホストPCのメモリに直接書き込まれます。
複数の Color Format、Bit Width、Parallelism がサポートされています。許可される組み合わせは、使用するハードウェアプラットフォームによって異なります:
-
imaFlex 2 Dual 100:
-
Bit Width と Parallelism の積は、8の整数倍であり、かつ512以下である必要があります。
-
最大画像幅と最大画像高さの積は、4バイトで割り切れる必要があります。
-
-
imaFlex CXP-12 Quad および imaFlex CXP-12 Penta:
-
Bit Width と Parallelism の積は、8の整数倍であり、かつ256以下である必要があります。
-
最大画像幅と最大画像高さの積は、4バイトで割り切れる必要があります。
-
-
microEnable 5 marathon VCLx、microEnable 5 marathon VCL、microEnable 5 marathon VCX-QP、microEnable 5 marathon VF2、および LightBridge VCL:
オペレーター入力のリンクプロパティは、アプレットがサポートする PCIe モードによって異なります。サポートされている PCIe モードは、オペレーター AppletProperties のパラメーター PcieInterfaceType で選択できます。
複数の Color Format、Bit Width、Parallelism がサポートされています。Parallelism x Bit Width の積の最大値は8の倍数であり、オペレーター AppletProperties で選択した PCIe モードによって異なります:
- Generation_1: Parallelism x Bit Width <= 64 Bit.
- Generation_2: Parallelism x Bit Width <= 128 bit
最大画像幅と最大画像高さの積は、4バイトで割り切れる必要があります。
-
microEnable 5 ironman VD8-PoCL、microEnable 5 ironman VQ8-CXP6D(DINコネクタ)、および microEnable 5 ironman VQ8-CXP6B(BNCコネクタ):
-
オペレーター AppletProperties のパラメーター PcieInterfaceType が Generation_1 に設定されている場合、Bit Width と Parallelism の積は8の倍数であり、128以下である必要があります。
-
オペレーター AppletProperties のパラメーター PcieInterfaceType が Generation_2 に設定されている場合、Bit Width と Parallelism の積は8の倍数であり、256以下である必要があります。
-
![]() |
RGBからBGRへの変換 |
|---|---|
|
オペレーターはRGBデータをBGRデータに変換します(つまり、DMA転送の前にRコンポーネントとBコンポーネントが入れ替えられます)。DMA転送後、元のRGB画像はPCのRAM内でBGR画像として利用可能になります。この変換は、ほとんどのソフトウェアツールがBGRフォーマットを直接サポートしているため、ソフトウェアツールによる以降の処理を容易にするために実行されます。 |
| ハードウェアプラットフォームで使用可能 |
|---|
| imaFlex 2 Dual 100 |
| imaFlex CXP-12 Penta |
| imaFlex CXP-12 Quad |
| microEnable 5 marathon VCLx |
| microEnable 5 marathon VCL |
| microEnable 5 marathon VCX-QP |
| microEnable 5 marathon VF2 |
| LightBridge VCL |
| microEnable 5 ironman VQ8-CXP6D/-CXP6B |
| microEnable 5 ironman VD8-PoCL |
リソース
このオペレーターは1つの VisualApplets リソースを使用します。
imaFlex 2 Dual 100:
imaFlex 2 Dual 100プラットフォームでは、オペレーターはDmaToHostPortタイプのVisualAppletsリソースを1つ使用します。プラットフォーム上で最大5つのDmaToPCオペレーターを使用できます。リソースインデックスは、0 → 1 → 2 → 3 → 4のように厳密な単調増加にする必要があります。最初のオペレーターには常にインデックス0を割り当て、後続の各オペレーターには次のインデックス(+1)を割り当てる必要があります。リソースインデックスに欠損があってはならず、インデックスは常に0から始まります。オペレーターのリソースダイアログでリソースインデックスを設定します。詳細については、「デバイスリソースの割り当て」を参照してください。
imaFlex CXP-12 Quad および imaFlex CXP-12 Penta:
imaFlex CXP-12 QuadおよびimaFlex CXP-12 Pentaプラットフォームでは、オペレーターはDMAタイプのVisualAppletsリソースを1つ使用します。オペレーターのリソースダイアログでリソースインデックスを設定します。詳細については、「デバイスリソースの割り当て」を参照してください。
| Link Parameter | Input Link I |
|---|---|
| Bit Width | 説明を参照 |
| Arithmetic | unsigned |
| Parallelism | 説明を参照 |
| Kernel Columns | 1 |
| Kernel Rows | 1 |
| Img Protocol | VALT_IMAGE2D |
| Color Format | {VAF_COLOR, VAF_GRAY} |
| Color Flavor | {FL_NONE, FL_RGB} If VAF_GRAY selected: FL_NONE; If VAF_COLOR selected: FL_RGB |
| Max. Img Width | any |
| Max. Img Height | any |
| CurrentTransferLength | ||||
|---|---|---|---|---|
| タイプ | 動的リードパラメータ | |||
| Default | ||||
| 範囲 | [0; 2^34-1] | |||
|
このパラメーターは、処理中のフレームのうち、すでに転送されたバイト数を反映します。この情報により、フレーム全体が送信される前に、ソフトウェアアプリケーションでDMAバッファーデータを解析できるようになります。
|
||||
DmaToPCオペレーターの使用方法は、以下の例に示されています。
-
Getting Started
-
基本原則 - VisualAppletsのコンセプトを学ぶ
-
データフロー - VisualAppletsで使用されるパイプライン構造について学ぶ
-
オペレーターのデバイスリソースの割り当てについて学びます。
-
基本ガイド - 1台のカメラに対して複数のDMAチャネル出力を使用する。
-
RGBカラープレーンを3つのDMAチャネル出力に分割する。
-
「オペレーター JPEG_Encoder を使用したJPEG圧縮」
例 - オペレーター JPEG_Encoder の使用法を示す簡単な例。
-
例 - カラーJPEG圧縮用のJPEGユーザーライブラリ要素の使用法を示す簡単な例。
-
例 - microEnable 4および5プラットフォーム向けで非推奨となった JPEG_Encoder_Gray オペレーターの使用方法を示すシンプルな例です。
-
例 - imaFlex プラットフォームのコプロセッサー機能を示しています。 例として、Median Filter が計算されます。
-
'Co-Processor Large Filter Calculation'
例 - imaFlex プラットフォームのコプロセッサー機能を示しています。 例として、大きなフィルターカーネルが計算されます。
-
例 - ハードウェアにおける設計の内部データフロー制御のデバッグおよび潜在的な補正を目的としています。
-
例 - High Speedかつ頑健なレーザーライン検出アルゴリズム。 このアルゴリズムは、サブピクセル精度の結果を得るために重心座標を決定します。

![[注]](../common/images/admon/note.png)
前へ

